[INV-BACKEND-024] Создать метод ReceivePartnerReceipt()
Реализация оркестратора вебхуков и gRPC-авторизации B2B
NoteКраткая карточка задачи
- Репозиторий / Компонент:
helper-service(Домен INVENTORY). - Контракт метода: HTTP Handler
ReceivePartnerReceipt(). - Ссылка на Метод: Спецификация метода для B2B
- Статус: Готово к реализации
- Инструкция по шагам:
- На Шаге 3: Принять проксированный запрос от шлюза. Вытащить из заголовков
shop_token, из тела —shop_idи инициировать блокирующий gRPC-вызовvalidateStoreTokenк сервису авторизацииauth-service. - На Шаге 3а–4а: Если gRPC-ответ возвращает статус ошибки авторизации или блокировки партнера, немедленно прервать операцию и отдать внешнему клиенту ответ
HTTP 401 Unauthorized. - На Шаге 3б–4б: Если gRPC-ответ подтверждает валидность токена, мгновенно отправить внешнему партнеру ответ
HTTP 200 OK. Сетевая сессия с ритейлером закрывается (Реализация паттерна Fire-and-Forget). - На Шаге 5: Запустить асинхронный фоновый поток: упаковать доверенный JSON чека и опубликовать его в Kafka-топик балансового шлюза
bpds.inventory.in.fridge_item.deduct. Пакет обязательно подписать оригинальнымx_request_idиshop_id.
- На Шаге 3: Принять проксированный запрос от шлюза. Вытащить из заголовков